// import { login, logout, getInfo } from '@/api/user'
import { getToken, setToken } from '@/utils/auth'
import { login, getUserProfile, getUserProInfo } from '@/api/user'
// import { resetRouter } from '@/router'
import Vue from 'vue'
export default {
  namespaced: true,
  // 存储数据
  state: {
    token: getToken() || '',
    userInfo: {}
  },
  // 修改与更新state的数据
  mutations: {
    // 存储token
    getTokens(state, newToken) {
      state.token = newToken
      // token持久化
      setToken(newToken)
    },
    // 存储用户信息
    setUserInfoss(state, newUserInfo) {
      state.userInfo = newUserInfo
    }
  },
  // 方法,发送ajax请求,获取token的值
  actions: {
    async getTokenss(context, obj) {
      const res = await login(obj)
      console.log(res.data)
      // 显示成功信息
      new Vue().$message.success(res.message)
      // 将token存储到state中
      context.commit('getTokens', res.data)
    },
    // 方法,发送ajax请求,获取用户个人信息
    async getUserInfoss(context) {
      const res = await getUserProfile()
      console.log(res)
      // context.commit('setUserInfoss', res.data)
      // 获取员工头像及其他信息
      const Info = await getUserProInfo(res.data.userId)
      console.log(Info.data)
      // 将获取的一个信息存储到state中,运用{...数据1, ...数据2}合并
      context.commit('setUserInfoss', { ...res.data, ...Info.data })
    },
    // 方法,发送ajax请求,退出功能,清除token,userInfo
    doClear(context) {
      // 将token值清空
      context.commit('getTokens', '')
      // 将用户信息清空
      context.commit('setUserInfoss', '')
    }
  }
}

